-- @Author: 作者QQ201878826
-- @Date:   2022-04-25 08:30:02
-- @Last Modified by:   作者QQ381990860
-- @Last Modified time: 2022-05-08 14:24:27
--======================================================================--
-- @作者: QQ381990860
-- @创建时间:   2019-12-03 02:17:19
-- @Last Modified time: 2022-04-30 21:13:32
--======================================================================--
function 角色处理类:购买祈福(user,类型)
   if 类型 =="银子" then
      if 银子检查(user.id,20000000)  then
          self:扣除银子(user,20000000,"祈福")
          user.角色.祈福 = user.角色.祈福+10
          发送数据(user.连接id,7,"#y/您的祈福次数为"..user.角色.祈福 )
          广播消息(9,"#jj/#Y/#g/ "..user.角色.名称.."#y/在朱紫国找到神机道长，在祈福石上写下所祈求的事情，心诚则灵，必有上天的庇佑")
       else
       发送数据(user.连接id,7,"#y/您的银子不足")
      end
   elseif 类型 == "仙玉"then
      if self:扣除仙玉(user,1000,"祈福") then
              user.角色.祈福 = user.角色.祈福+10
              发送数据(user.连接id,7,"#y/您的祈福次数为"..user.角色.祈福 )
              广播消息(9,"#jj/#Y/#g/ "..user.角色.名称.."#y/在朱紫国找到神机道长，在祈福石上写下所祈求的事情，心诚则灵，必有上天的庇佑")
      end
   elseif 类型 == "储备"then
     local 储备 = user.角色.道具.货币.储备
     if 储备 < 0 then
     return
     end
      if 储备 < 100000000 then
       发送数据(user.连接id,7,"#y/您的储备不足，需要一亿")
       return
       else
       user.角色.道具.货币.储备 = user.角色.道具.货币.储备 - 100000000
              user.角色.祈福 = user.角色.祈福+10
              发送数据(user.连接id,7,"#y/您的祈福次数为"..user.角色.祈福 )
              广播消息(9,"#jj/#Y/#g/ "..user.角色.名称.."#y/在朱紫国找到神机道长，在祈福石上写下所祈求的事情，心诚则灵，必有上天的庇佑")
      end
    end
end


function 角色处理类:扣除祈福次数(id,类型)


 if (玩家数据[id].角色.新祈福.类型 ~= "无祈福"  and  玩家数据[id].角色.新祈福.次数<= 0) or (玩家数据[id].角色.新祈福.类型 == "无祈福"  and  玩家数据[id].角色.新祈福.次数 >0) then
    玩家数据[id].角色.新祈福.类型 = "无祈福"
   玩家数据[id].角色.新祈福.次数 = 0
 end

 if 类型 == 玩家数据[id].角色.新祈福.类型  and 玩家数据[id].角色.新祈福.次数 >0 then
    玩家数据[id].角色.新祈福.次数  = 玩家数据[id].角色.新祈福.次数 -1
   发送数据(玩家数据[id].连接id,7,"#g/当前活动类型拥有祈福加成,奖励、爆率增加,剩余加成次数#R/"..玩家数据[id].角色.新祈福.次数)
  return true
 end

 return false
end


function 角色处理类:购买祈福1(id)

      if  活动数据.本日祈福[id]==nil then
         if 是否聚宝盒(id,1) then
            活动数据.本日祈福[id] = {免费次数 =6,总次数 =0}
         else
         活动数据.本日祈福[id] = {免费次数 =3,总次数 =0}
       end
      end


  -- 活动数据.本日祈福[id] = {免费次数 =2,总次数 =0}
  if 活动数据.本日祈福[id].总次数 >=50  then
     发送数据(玩家数据[id].连接id,7,"#y/每日最多祈福50次")
    发送数据(玩家数据[id].连接id,2006777,{类型=玩家数据[id].角色.新祈福.类型,次数=玩家数据[id].角色.新祈福.次数})
     return
  end
   if 活动数据.本日祈福[id].免费次数 >0 then

      活动数据.本日祈福[id].免费次数 = 活动数据.本日祈福[id].免费次数 -1
     活动数据.本日祈福[id].总次数 = 活动数据.本日祈福[id].总次数 +1

   --获得新效果
      local 临时表 = {"押镖加成","活动怪加成","镇魔卫道加成","飞升副本加成","边境救援加成","灵狐乐园加成","挂机打宝加成","抓鬼加成","游泳加成","属性加成"}
      玩家数据[id].角色.新祈福.类型 = 临时表[math.random(#临时表)]
     玩家数据[id].角色.新祈福.次数 = math.random(10,20)
     if 玩家数据[id].角色.新祈福.类型 == "属性加成" then
        local 临时表1={"体质","命中","力量","伤害","速度","耐力","愤怒","防御","魔力","魔法","气血","法防","法术伤害","固定伤害","封印命中等级","抵抗封印等级","气血回复效果"}
        local 属性 = 临时表1[math.random(#临时表1)]
         self:祈福赋能(玩家数据[id],属性)
     end
     广播消息( "#hd/".."#S/(新祈福)#Y/只见一道灵光,直冲天际。#G/恭喜玩家#R/" .. 玩家数据[id].角色.名称 .. "#G/获得了祈福效果#r"..玩家数据[id].角色.新祈福.类型)
     发送数据(玩家数据[id].连接id, 7,"#Y/免费祈福成功,每日开免费祈福#R/3#Y/次,拥有#R/聚宝盒#Y/可免费祈福#R/6#Y/次")
     发送数据(玩家数据[id].连接id,2006777,{类型=玩家数据[id].角色.新祈福.类型,次数=玩家数据[id].角色.新祈福.次数})

   else

        local 特赦格子 = 0
      local 是否 = false
      for n = 1, 80 do
         if 玩家数据[id].角色.道具["包裹"][n] ~= nil and 玩家数据[id].物品[玩家数据[id].角色.道具["包裹"][n]].名称 == "摸金符" and  玩家数据[id].物品[玩家数据[id].角色.道具["包裹"][n]].数量  and   玩家数据[id].物品[玩家数据[id].角色.道具["包裹"][n]].数量>=1 then
         特赦格子=n
         是否 = true
         end
      end
      if 是否 == false then
      发送数据(玩家数据[id].连接id, 7,"#Y/摸金符数量不足")
      发送数据(玩家数据[id].连接id,2006777,{类型=玩家数据[id].角色.新祈福.类型,次数=玩家数据[id].角色.新祈福.次数})
      return
      end
      活动数据.本日祈福[id].总次数 = 活动数据.本日祈福[id].总次数 +1
      道具处理类:RemoveItems(玩家数据[id],特赦格子, "摸金符",1)
      发送数据(玩家数据[id].连接id, 7,"#Y/祈福成功扣除一个摸金符")

         --获得新效果
          local 临时表 = {"押镖加成","活动怪加成","镇魔卫道加成","飞升副本加成","边境救援加成","灵狐乐园加成","挂机打宝加成","抓鬼加成","游泳加成","属性加成"}
         玩家数据[id].角色.新祈福.类型 = 临时表[math.random(#临时表)]
        玩家数据[id].角色.新祈福.次数 = math.random(10,20)
        if 玩家数据[id].角色.新祈福.类型 == "属性加成" then
           local 临时表1={"体质","命中","力量","伤害","速度","耐力","愤怒","防御","魔力","魔法","气血","法防","法术伤害","固定伤害","封印命中等级","抵抗封印等级","气血回复效果"}
           local 属性 = 临时表1[math.random(#临时表1)]
            self:祈福赋能(玩家数据[id],属性)
        end
       广播消息( "#hd/".."#S/(新祈福)#Y/只见一道灵光,直冲天际。#G/恭喜玩家#R/" .. 玩家数据[id].角色.名称 .. "#G/获得了祈福效果#r"..玩家数据[id].角色.新祈福.类型)
         发送数据(玩家数据[id].连接id,2006777,{类型=玩家数据[id].角色.新祈福.类型,次数=玩家数据[id].角色.新祈福.次数})
        发送数据(玩家数据[id].连接id, 3006, "66")
    end
       道具处理类:战备检查刷新(id)
  end

  --self:精灵赋能(玩家数据[id],事件)
function 角色处理类:祈福赋能(user,属性)

  if not user.角色.新祈福 then
       return
   end

  local  Value = {}

Value.体质=  math.random(math.floor(6 *30 * 0.2), math.floor(6 *30 * 0.5))
Value.命中=  math.random(math.floor(6 *30 * 1), math.floor(6 *30 * 2))
Value.力量=  math.random(math.floor(6 *30 * 0.2), math.floor(6 *30 * 0.5))
Value.封印命中等级=  math.random(math.floor(6 *30 * 0.2), math.floor(6 *30 * 0.5))
Value.抵抗封印等级=  math.random(math.floor(6 *30 * 0.2), math.floor(6 *30 * 0.5))
Value.魔法=  math.random(math.floor(6 *30 * 1), math.floor(6 *30 * 2))
Value.气血回复效果=  math.random(math.floor(6 *30 * 0.2), math.floor(6 *30 * 0.5))
Value.固定伤害=  math.random(math.floor(6 *30 * 0.2), math.floor(6 *30 * 0.5))
Value.伤害=  math.random(math.floor(6 *30 * 0.5), math.floor(6 *30 * 1))
Value.速度=  math.random(math.floor(6 *30 * 0.2), math.floor(6 *30 * 0.5))
Value.耐力=  math.random(math.floor(6 *30 * 0.2), math.floor(6 *30 * 0.5))
Value.愤怒=  math.random(math.floor(6 *30 * 0.1), math.floor(6 *30 * 0.2))
Value.防御=  math.random(math.floor(6 *30 * 0.5), math.floor(6 *30 * 1))
Value.魔力=  math.random(math.floor(6 *30 * 0.2), math.floor(6 *30 * 0.5))
Value.法术伤害=  math.random(math.floor(6 *30 * 0.2), math.floor(6 *30 * 0.5))
Value.气血=  math.random(math.floor(6 *30 * 1), math.floor(6 *30 * 2))
Value.法防=  math.random(math.floor(6 *30 * 0.2), math.floor(6 *30 * 0.5))


   if user.角色.新祈福[1] ==nil then
      user.角色.新祈福[1]={[1]= {类型 = 属性,数值 =Value[属性],时间=os.time() + 86400}}
              发送数据(user.连接id,7,"#Y/获得祈福属性#R/"..属性.." + "..Value[属性].."#Y/有效期24小时")
            角色处理类:刷新装备属性(user)
            return
   else
      for i,v in pairs(user.角色.新祈福[1]) do
         if v.类型 == 属性  then
            user.角色.新祈福[1][i].数值=Value[属性]
            user.角色.新祈福[1][i].时间=os.time() + 86400
            发送数据(user.连接id,7,"#Y/祈福到已有属性,替换成功#R/"..属性.." + "..Value[属性].."#Y/有效期24小时")
             角色处理类:刷新装备属性(user)
            return
         elseif #user.角色.新祈福[1] >=6 then
             user.角色.新祈福[1][i].类型= 属性
             user.角色.新祈福[1][i].数值=Value[属性]
            user.角色.新祈福[1][i].时间=os.time() + 86400
            发送数据(user.连接id,7,"#Y/祈福属性数量大于6已自动替换随机属性,替换成功#R/"..属性.." + "..Value[属性].."#Y/有效期24小时")
             角色处理类:刷新装备属性(user)
            return

         end
      end

      user.角色.新祈福[1][#user.角色.新祈福[1]+1]= {类型 = 属性,数值 =Value[属性],时间 = os.time() + 86400}
       发送数据(user.连接id,7,"#Y/新增祈福属性！#R/"..属性.." + "..Value[属性].."#Y/有效期24小时")
       角色处理类:刷新装备属性(user)
   end
end